草庐IT

c++ - LLDB C++调试

全部标签

c - 是否可以在没有消息循环的情况下运行窗口应用程序

我有一个非常古老的应用程序,我很惊讶。此应用程序在没有消息循环的情况下运行。(GetMessage或PeekMessage)。这怎么可能?来自VisualStudio的编辑示例:HINSTANCEg_hInstance=NULL;LRESULTCALLBACKWndProc(HWNDhWnd,UINTmessage,WPARAMwParam,LPARAMlParam);BOOLInitInstance(HINSTANCEhInstance,intnCmdShow);ATOM_RegisterClass(HINSTANCEhInstance);intAPIENTRYWinMain(HIN

c - 启动 Windows 驱动程序时出错 : The handle is invalid

我是一名Web开发人员,决定涉足内核模式开发。我安装了WDK8.1、VisualStudioProfessional2013,并设置了Windows7VM来调试和测试我的驱动程序。我从thistutorial开始我下载解决方案并构建驱动程序。我无法执行教程中描述的部署步骤,因此我尝试使用OSRDriverLoader安装驱动程序我能够注册驱动程序,但是当我尝试启动它时出现以下错误。C:\Windows\system32>sc启动KmfSmall[SC]启动服务失败6:句柄无效。这是驱动程序的代码:#include#includeDRIVER_INITIALIZEDriverEntry;

windows - 在 Windows 中调试系统/ole dll

我们如何在windows中调试系统dll?假设我的应用程序正在使用使用系统dll的第三方dll,我想知道第三方dll传递给系统dllapi的确切参数。例如,假设myapp.exe使用名为xyz-wmi.dll的第三方dll,它对恰好在Wbemdisp.dll中的SWbemLocator.ConnectServer进行api调用。我想检查传递给Wbemdisp.dll中的SWbemLocator.ConnectServer的确切参数。有没有办法在Wbemdisp.dll的函数SWbemLocator.ConnectServer中设置断点并在调试器中检查参数?如何做到这一点?

c++ - 是否可以使用调试器调试 UnhandledExceptionFilters?

在MicrosoftWindowsAPI中,您可以使用SetUnhandledExceptionFilter,为未处理的异常设置处理程序。该页面上提到的最大收获是:Ifanexceptionoccursinaprocessthatisnotbeingdebugged,andtheexceptionmakesittotheunhandledexceptionfilter,thatfilterwillcalltheexceptionfilterfunctionspecifiedbythelpTopLevelExceptionFilterparameter.(添加了强调)这基本上意味着,如果

c - fwrite() 性能远低于磁盘容量

我有一个包含1700万个元素的struct动态分配数组。为了将它保存到磁盘,我写了fwrite(StructList,sizeof(Struct),NumStructs,FilePointer)在后面的步骤中,我使用等效的fread语句读取它,即使用sizeof(Struct)和NumStructs的计数.我预计生成的文件大约为3.5GB(这都是x64)。是否可以通过传递sizeof(Struct)*NumStructs作为大小和1作为计数来加快速度?我绞尽脑汁想知道为什么在具有32GBRAM(大量写入缓存)的快速计算机上写入操作可能需要分钟。我已经运行了自制基准测试,缓存足够激进,前

c - Armstrong 数字程序在使用 Codeblocks 和 MinGW(32 位)编译时产生错误结果

我想编写一个程序来判断一个数字是否是阿姆斯壮数字。我为此编写了一个函数,如果数字是armstrong数字则返回1,否则返回0。我在函数中使用了以下代码:intisArmsNum(intx){intm,r=0,d,y;y=x;while(x>0){m=x%10;r=r+pow(m,3);x=x/10;}if(r==y){d=1;}if(r!=y){d=0;}returnd;}现在的问题是,当我尝试检查程序中的153(这是一个armstrong数字)时,程序返回0,并且仅当x=1时才返回1。我在VisualStudio2013中编译了相同的代码,它是工作正常。我决定对Codeblocks(

使用 Windows API 比较线程 ID

我正在使用WindowsAPI线程,我想比较线程ID。首先,我用CreateThread()创建了一个线程并存储我从函数中获取的句柄(HANDLE)和ID(LPDWORD)。然后我使用GetCurrentThread()从创建的线程中获取句柄和ID和GetThreadId().对于两个句柄和两个ID,我总是得到不同的值。有没有办法以类似于pthread的方式比较线程?我这样做是为了作为确认正确执行的调试选项。我总是从其他库(pthread.h、threads.h)但不是从Windowsapi得到正确的结果。这不是一个关键问题,但我想学习winapi中的程序

无法建立服务器客户端连接 - C winsock 中的错误 10061

我正在尝试在我家中本地网络中的2台计算机上运行服务器客户端。第一台电脑是服务器,第二台是客户端。尝试连接服务器时出现错误10061。(“错误-连接失败。sockfd是164,errno是34,WSA是10061”)。错误10061表示-“连接被拒绝。无法建立连接,因为目标机器主动拒绝它。这通常是由于尝试连接到外部主机上不活动的服务——即没有运行服务器应用程序的服务。”我认为这可能是防火墙问题,所以我在我的防火墙中批准了我正在使用的端口,但它仍然不起作用。此外,两台计算机具有相同的IP(这是为什么?)。这是我的代码:服务器.c:#include#include#include#inclu

windows - 在 Win 7 和 8.1 中调试 shell 扩展

在此方面,我将真诚地感谢您的帮助。我花了几个小时试图解决它。我用VCPP6(是的,我知道。不用告诉我)写了一个小扩展,在XP下使用IExtractImage在资源管理器中将特定DOS文件的内容显示为缩略图。事实证明调试很容易——我关闭了资源管理器并按了F5。单击所需类型的文件会生成缩略图。断点全部激活。升级到VS2012(同样发生在VS2013Express上)并使用IThumbnailProvider,相同的序列不起作用。程序本身可以运行。我可以在7和8.1中显示缩略图。我不能做的是通过资源管理器调试它。我可以使用SDK(ThumbnailProvider)中的示例调试它,但不能使用

windows - 如何在 Windows 上使用单声道运行时在 Xamarin Studio 中进行调试

当我尝试在Windows上的XamarinStudio中进行F5调试时,调试开始使用Microsoft.NET。知道如何让Xamarin使用我安装在我机器上的mono3.2.3吗? 最佳答案 您可以在工具-选项-项目-.NET运行时中将Mono添加到.NET运行时.您可以在那里浏览到您的Mono安装并添加它。然后您可以选择是否将其设置为默认值。如果您不将其设置为默认值,则当您选择运行-开始调试时,您将不会使用Mono调试您的应用程序,但您可以通过右键单击使用Mono运行解决方案窗口中的项目并选择运行方式-Mono。如果您将Mono设